#include "exynos_4412.h"

void Delay(unsigned int Time){
	while(Time--);
}

void WDT_Init(){
	/*设置一级分频器 155 9B 1001 1011*/
	WDT.WTCON = WDT.WTCON & (~(0xFF << 8)) | (0x9B << 8);
	/*设置二级分频器 64*/
	WDT.WTCON = WDT.WTCON | (0x2 << 3);
	/*f = (100000000) / (155 + 1) / 64  = 10016*/
	/*RSVD Normal operation（其他位设置为正常模式）*/
	WDT.WTCON = WDT.WTCON & (~(0x3 << 6));
	WDT.WTCON = WDT.WTCON & (~(1 << 1));
	/*Interrupt generation Disable*/
	WDT.WTCON = WDT.WTCON & (~(1 << 2));
	/*sserts reset signal of the Exynos 4412 SCP at watchdog time-out*/
	/*发送复位信号*/
	WDT.WTCON = WDT.WTCON | 1;
	/*启动WDT 使能WDT 计数器开始递减*/
	WDT.WTCON = WDT.WTCON | (1 << 5);
}

void WDT_Protect(){
	printf("WDT.WTCNT = %d\n", WDT.WTCNT);
	WDT.WTCNT = 3052; // 喂狗
	Delay(100000);

}

int main()
{
	WDT_Init();
	while(1){
		
		WDT.WTCNT = (10016 *5); // 5s 后CPU接收复位信号 重启
	//	WDT_Protect();


	}
	return 0;
}
